/**
*  \file key.h
*
*  \brief
*
*  \authors Dajin Li  dajin.li@linde-.de
*
*
*
*/

#ifndef __KEY_H
#define __KEY_H

/*================================================[ public includes  ]================================================*/
#include "Global.h"
/*================================================[ public defines   ]================================================*/
//Keypad
#define	NO_ENTER_KEY			   ~BIT0
#define NO_LONG_ENTER_KEY          ~BIT1
#define	NO_UP_KEY				   ~BIT2 
#define	NO_DOWN_KEY			       ~BIT3
#define	NO_BACK_KEY			       ~BIT4
#define	NO_UP_DOWN_KEY		       ~BIT5

#define RESET_KEY_STATUS 0x00
#define KEY_SHORT_PRESS	0x01
#define KEY_LONG_PRESS	0x02
/*================================================[ public datatypes ]================================================*/

/*================================================[ public variables ]================================================*/
extern volatile u16 key_up_value;
extern volatile u16 key_down_value;
extern volatile u16 key_enter_value;
extern volatile u16 key_up_time_value;
extern volatile u16 key_down_time_value;

extern PinCodeType Pin_Code;
extern U8 Key_status[4];
extern U16 SoftCloseCounter;
extern U8 SoftCloseFlag;
/*================================================[ inline functions ]================================================*/

/*================================================[ public functions ]================================================*/
void key_handler(void);
void set_digicode(void);

#endif
/***********************************************************************************************************************
*                             Copyright 2016 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/

